package com.damBowling.mybolos;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

import models.Franja;
import models.Pista;
import models.Reserva;
import models.Socio;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;

public class CancelarReservasActivity extends Activity {

    private Spinner spinner;
	private ListView franjasListView;
	private ArrayList<Franja> franjas;
	private BoleraWebserviceInvoker boleraWebserviceInvoker;
	private ArrayAdapter<String> listViewAdapter;

	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_cancelar_reservas);
        spinner = (Spinner) findViewById(R.id.pistasComboBox);
		franjasListView = (ListView) findViewById(R.id.noReservasListView);
		franjas = new ArrayList<Franja>();
		boleraWebserviceInvoker = new BoleraWebserviceInvoker(getResources());
		// Creamos el adaptador
		listViewAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1);
		franjasListView.setAdapter(listViewAdapter);
		// Añadimos el layout para el menú
		
		Intent intent = getIntent();
		final String dia = intent.getExtras().getString("dia");
		final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
		Date fechaReserva;
		try {
			fechaReserva=dateFormat.parse(dia);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		// Le indicamos al spinner el adaptador a usar

		spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

			public void onItemSelected(AdapterView<?> arg0, View arg1,
					int arg2, long arg3) {
				
				//	franjas = boleraWebserviceInvoker.recuperaFranjasLibresDiaPista(fechaReserva, arg2);
					listViewAdapter.clear();
				
					final SimpleDateFormat dateFormat2 = new SimpleDateFormat("hh:00");
					for (Franja franja : franjas) {
						String str = "";
						String inicio = dateFormat2.format(franja.getFechaInicio());
						String fin = dateFormat2.format(franja.getFechaFin());
						str = inicio + "-" + fin;
						listViewAdapter.add(str);
						
					}
				
				

			}

			public void onNothingSelected(AdapterView<?> arg0) {
				// TODO Auto-generated method stub

			}
		});
		franjasListView.setOnItemClickListener(new OnItemClickListener() {

			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
					long arg3) {
				Reserva reserva=new Reserva();
				reserva.setAnulado(false);
				//reserva.setFecha(null);
				reserva.setFranja(franjas.get(arg2));
				Integer pista=spinner.getSelectedItemPosition();
				Pista p=new Pista();
				p.setNumero(pista);
				reserva.setPista(p);
				Socio socio = new Socio();
				socio.setId(1);
				reserva.setSocio(socio);
				boleraWebserviceInvoker.guardarReserva(reserva);
				Toast toast=Toast.makeText(getApplicationContext(), "Se ha guardado la reserva",Toast.LENGTH_LONG);
				toast.show();
			}
		});
		
	}
    

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_cancelar_reservas, menu);
        return true;
    }
}
